Individual glacier surface velocity analysis#
This notebook will build upon the data access and inspection steps in the earlier notebooks and demonstrate basic data analysis and visualization of surface velocity data at the scale of an individual glacier using xarray.
Learning goals:
using xarray label-based indexing and selection tools
computation and grouped computation
visualization
import os
import json
import urllib.request
import numpy as np
import xarray as xr
import rioxarray as rxr
import geopandas as gpd
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
from shapely.geometry import Polygon
from shapely.geometry import Point
import cartopy.crs as ccrs
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER, LATITUDE_FORMATTER
import cartopy
import cartopy.feature as cfeature
import flox
%config InlineBackend.figure_format='retina'
import itslivetools
with urllib.request.urlopen('https://its-live-data.s3.amazonaws.com/datacubes/catalog_v02.json') as url_catalog:
itslive_catalog = json.loads(url_catalog.read().decode())
itslive_catalog.keys()
dict_keys(['type', 'features'])
url = itslivetools.find_granule_by_point(itslive_catalog, [95.180191, 30.645973])
url
['http://its-live-data.s3.amazonaws.com/datacubes/v02/N30E090/ITS_LIVE_vel_EPSG32646_G0120_X750000_Y3350000.zarr']
dc = itslivetools.read_in_s3(url[0])
dc
<xarray.Dataset>
Dimensions: (mid_date: 6554, y: 833, x: 833)
Coordinates:
* mid_date (mid_date) datetime64[ns] 2021-05-13T04:30:01....
* x (x) float64 7.001e+05 7.003e+05 ... 8e+05
* y (y) float64 3.4e+06 3.4e+06 ... 3.3e+06 3.3e+06
Data variables: (12/54)
acquisition_date_img1 (mid_date) datetime64[ns] dask.array<chunksize=(6554,), meta=np.ndarray>
acquisition_date_img2 (mid_date) datetime64[ns] dask.array<chunksize=(6554,), meta=np.ndarray>
autoRIFT_software_version (mid_date) <U5 dask.array<chunksize=(6554,), meta=np.ndarray>
chip_size_height (mid_date, y, x) float32 dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
chip_size_width (mid_date, y, x) float32 dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
date_center (mid_date) datetime64[ns] dask.array<chunksize=(6554,), meta=np.ndarray>
... ...
vy_error_mask (mid_date) float64 dask.array<chunksize=(6554,), meta=np.ndarray>
vy_error_modeled (mid_date) float64 dask.array<chunksize=(6554,), meta=np.ndarray>
vy_error_slow (mid_date) float64 dask.array<chunksize=(6554,), meta=np.ndarray>
vy_stable_shift (mid_date) float64 dask.array<chunksize=(6554,), meta=np.ndarray>
vy_stable_shift_mask (mid_date) float64 dask.array<chunksize=(6554,), meta=np.ndarray>
vy_stable_shift_slow (mid_date) float64 dask.array<chunksize=(6554,), meta=np.ndarray>
Attributes: (12/18)
GDAL_AREA_OR_POINT: Area
author: ITS_LIVE, a NASA MEaSUREs project (its-live.j...
autoRIFT_parameter_file: http://its-live-data.s3.amazonaws.com/autorif...
datacube_software_version: 1.0
date_created: 09-Jun-2022 09:28:39
date_updated: 09-Jun-2022 09:28:39
... ...
s3: s3://its-live-data/datacubes/v02/N30E090/ITS_...
skipped_granules: s3://its-live-data/datacubes/v02/N30E090/ITS_...
time_standard_img1: UTC
time_standard_img2: UTC
title: ITS_LIVE datacube of image_pair velocities
url: https://its-live-data.s3.amazonaws.com/datacu...xarray.Dataset
- mid_date: 6554
- y: 833
- x: 833
- mid_date(mid_date)datetime64[ns]2021-05-13T04:30:01.030095360 .....
- description :
- midpoint of image 1 and image 2 acquisition date and time with granule's centroid longitude and latitude as microseconds
- standard_name :
- image_pair_center_date_with_time_separation
array(['2021-05-13T04:30:01.030095360', '2021-03-29T04:29:50.531094016', '2021-05-23T04:29:55.531094016', ..., '2019-02-18T04:10:03.530095104', '2018-04-04T04:10:23.030095104', '2015-02-23T04:10:18.530095104'], dtype='datetime64[ns]') - x(x)float647.001e+05 7.003e+05 ... 8e+05
- description :
- x coordinate of projection
- standard_name :
- projection_x_coordinate
array([700132.5, 700252.5, 700372.5, ..., 799732.5, 799852.5, 799972.5])
- y(y)float643.4e+06 3.4e+06 ... 3.3e+06 3.3e+06
- description :
- y coordinate of projection
- standard_name :
- projection_y_coordinate
array([3399907.5, 3399787.5, 3399667.5, ..., 3300307.5, 3300187.5, 3300067.5])
- acquisition_date_img1(mid_date)datetime64[ns]dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- acquisition date and time of image 1
- standard_name :
- image1_acquition_date
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type datetime64[ns] numpy.ndarray - acquisition_date_img2(mid_date)datetime64[ns]dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- acquisition date and time of image 2
- standard_name :
- image2_acquition_date
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type datetime64[ns] numpy.ndarray - autoRIFT_software_version(mid_date)<U5dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- version of autoRIFT software
- standard_name :
- autoRIFT_software_version
Array Chunk Bytes 128.01 kiB 128.01 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type - chip_size_height(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- height of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_height
- units :
- m
- y_pixel_size :
- 10.0
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - chip_size_width(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- chip_size_coordinates :
- Optical data: chip_size_coordinates = 'image projection geometry: width = x, height = y'. Radar data: chip_size_coordinates = 'radar geometry: width = range, height = azimuth'
- description :
- width of search template (chip)
- grid_mapping :
- mapping
- standard_name :
- chip_size_width
- units :
- m
- x_pixel_size :
- 10.0
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - date_center(mid_date)datetime64[ns]dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- midpoint of image 1 and image 2 acquisition date
- standard_name :
- image_pair_center_date
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type datetime64[ns] numpy.ndarray - date_dt(mid_date)timedelta64[ns]dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- time separation between acquisition of image 1 and image 2
- standard_name :
- image_pair_time_separation
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type timedelta64[ns] numpy.ndarray - granule_url(mid_date)<U235dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- original granule URL
- standard_name :
- granule_url
Array Chunk Bytes 5.88 MiB 5.88 MiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type - interp_mask(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- description :
- light interpolation mask
- grid_mapping :
- mapping
- standard_name :
- interpolated_value_mask
- units :
- binary
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - mapping()<U1...
- CoordinateAxisTypes :
- GeoX GeoY
- CoordinateTransformType :
- Projection
- GeoTransform :
- 700072.5 120.0 0 3399967.5 0 -120.0
- grid_mapping_name :
- universal_transverse_mercator
- inverse_flattening :
- 298.257223563
- semi_major_axis :
- 6378137.0
- spatial_epsg :
- 32646
- spatial_proj4 :
- +proj=utm +zone=46 +datum=WGS84 +units=m +no_defs
- spatial_ref :
- PROJCS["WGS 84 / UTM zone 46N",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",93],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","32646"]]
- utm_zone_number :
- 46.0
[1 values with dtype=<U1]
- mission_img1(mid_date)<U1dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- id of the mission that acquired image 1
- standard_name :
- image1_mission
Array Chunk Bytes 25.60 kiB 25.60 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type - mission_img2(mid_date)<U1dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- id of the mission that acquired image 2
- standard_name :
- image2_mission
Array Chunk Bytes 25.60 kiB 25.60 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type - roi_valid_percentage(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- percentage of pixels with a valid velocity estimate determined for the intersection of the full image pair footprint and the region of interest (roi) that defines where autoRIFT tried to estimate a velocity
- standard_name :
- region_of_interest_valid_pixel_percentage
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - satellite_img1(mid_date)<U32dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 1
- standard_name :
- image1_satellite
Array Chunk Bytes 819.25 kiB 819.25 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type - satellite_img2(mid_date)<U32dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- id of the satellite that acquired image 2
- standard_name :
- image2_satellite
Array Chunk Bytes 819.25 kiB 819.25 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type - sensor_img1(mid_date)<U3dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 1
- standard_name :
- image1_sensor
Array Chunk Bytes 76.80 kiB 76.80 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type - sensor_img2(mid_date)<U3dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- id of the sensor that acquired image 2
- standard_name :
- image2_sensor
Array Chunk Bytes 76.80 kiB 76.80 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type - stable_count_mask(mid_date)int64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- number of valid pixels over stationary or slow-flowing surfaces
- standard_name :
- stable_count_mask
- units :
- count
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type int64 numpy.ndarray - stable_count_slow(mid_date)int64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- number of valid pixels over slowest 25% of ice
- standard_name :
- stable_count_slow
- units :
- count
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type int64 numpy.ndarray - stable_shift_flag(mid_date)int64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- flag for applying velocity bias correction: 0 = no correction; 1 = correction from overlapping stable surface mask (stationary or slow-flowing surfaces with velocity < 15 m/yr)(top priority); 2 = correction from slowest 25% of overlapping velocities (second priority)
- standard_name :
- stable_shift_flag
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type int64 numpy.ndarray - v(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- description :
- velocity magnitude
- grid_mapping :
- mapping
- standard_name :
- velocity
- units :
- m/y
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - v_error(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- description :
- velocity magnitude error
- grid_mapping :
- mapping
- standard_name :
- velocity_error
- units :
- m/y
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - va(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- description :
- velocity in radar azimuth direction
- grid_mapping :
- mapping
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - va_error(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- error for velocity in radar azimuth direction
- standard_name :
- va_error
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - va_error_mask(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_error_mask
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - va_error_modeled(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- va_error_modeled
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - va_error_slow(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- va_error_slow
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - va_stable_shift(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- applied va shift calibrated using pixels over stable or slow surfaces
- standard_name :
- va_stable_shift
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - va_stable_shift_mask(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- va_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - va_stable_shift_slow(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- va shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- va_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vr(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- description :
- velocity in radar range direction
- grid_mapping :
- mapping
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - vr_error(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- error for velocity in radar range direction
- standard_name :
- vr_error
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vr_error_mask(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_error_mask
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vr_error_modeled(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vr_error_modeled
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vr_error_slow(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vr_error_slow
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vr_stable_shift(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- applied vr shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vr_stable_shift
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vr_stable_shift_mask(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vr_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vr_stable_shift_slow(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- vr shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vr_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vx(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- description :
- velocity component in x direction
- grid_mapping :
- mapping
- standard_name :
- x_velocity
- units :
- m/y
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - vx_error(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- best estimate of x_velocity error: vx_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vx_error
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vx_error_mask(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_error_mask
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vx_error_modeled(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vx_error_modeled
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vx_error_slow(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vx_error_slow
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vx_stable_shift(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- applied vx shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vx_stable_shift
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vx_stable_shift_mask(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vx_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vx_stable_shift_slow(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- vx shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vx_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vy(mid_date, y, x)float32dask.array<chunksize=(6554, 70, 70), meta=np.ndarray>
- description :
- velocity component in y direction
- grid_mapping :
- mapping
- standard_name :
- y_velocity
- units :
- m/y
Array Chunk Bytes 16.94 GiB 122.51 MiB Shape (6554, 833, 833) (6554, 70, 70) Dask graph 144 chunks in 2 graph layers Data type float32 numpy.ndarray - vy_error(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- best estimate of y_velocity error: vy_error is populated according to the approach used for the velocity bias correction as indicated in "stable_shift_flag"
- standard_name :
- vy_error
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vy_error_mask(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- RMSE over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_error_mask
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vy_error_modeled(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- 1-sigma error calculated using a modeled error-dt relationship
- standard_name :
- vy_error_modeled
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vy_error_slow(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- RMSE over slowest 25% of retrieved velocities
- standard_name :
- vy_error_slow
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vy_stable_shift(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- applied vy shift calibrated using pixels over stable or slow surfaces
- standard_name :
- vy_stable_shift
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vy_stable_shift_mask(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over stable surfaces, stationary or slow-flowing surfaces with velocity < 15 m/yr identified from an external mask
- standard_name :
- vy_stable_shift_mask
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray - vy_stable_shift_slow(mid_date)float64dask.array<chunksize=(6554,), meta=np.ndarray>
- description :
- vy shift calibrated using valid pixels over slowest 25% of retrieved velocities
- standard_name :
- vy_stable_shift_slow
- units :
- m/y
Array Chunk Bytes 51.20 kiB 51.20 kiB Shape (6554,) (6554,) Dask graph 1 chunks in 2 graph layers Data type float64 numpy.ndarray
- mid_datePandasIndex
PandasIndex(DatetimeIndex(['2021-05-13 04:30:01.030095360', '2021-03-29 04:29:50.531094016', '2021-05-23 04:29:55.531094016', '2022-03-01 16:29:52.031094016', '2021-07-22 04:29:54.531094016', '2020-12-06 16:29:55.531094016', '2021-10-02 16:30:02.530094848', '2020-11-19 04:30:03.530095104', '2022-01-05 16:30:04.030094080', '2022-02-02 04:30:02.030094336', ... '2017-04-09 04:10:34.030094848', '2017-03-16 04:10:32.030095104', '2016-10-31 04:10:28.030095104', '2013-11-08 04:12:01.530095104', '2017-09-24 04:10:33.030095104', '2014-06-04 04:11:07.030095104', '2018-04-28 04:10:20.030095104', '2019-02-18 04:10:03.530095104', '2018-04-04 04:10:23.030095104', '2015-02-23 04:10:18.530095104'], dtype='datetime64[ns]', name='mid_date', length=6554, freq=None)) - xPandasIndex
PandasIndex(Index([700132.5, 700252.5, 700372.5, 700492.5, 700612.5, 700732.5, 700852.5, 700972.5, 701092.5, 701212.5, ... 798892.5, 799012.5, 799132.5, 799252.5, 799372.5, 799492.5, 799612.5, 799732.5, 799852.5, 799972.5], dtype='float64', name='x', length=833)) - yPandasIndex
PandasIndex(Index([3399907.5, 3399787.5, 3399667.5, 3399547.5, 3399427.5, 3399307.5, 3399187.5, 3399067.5, 3398947.5, 3398827.5, ... 3301147.5, 3301027.5, 3300907.5, 3300787.5, 3300667.5, 3300547.5, 3300427.5, 3300307.5, 3300187.5, 3300067.5], dtype='float64', name='y', length=833))
- GDAL_AREA_OR_POINT :
- Area
- author :
- ITS_LIVE, a NASA MEaSUREs project (its-live.jpl.nasa.gov)
- autoRIFT_parameter_file :
- http://its-live-data.s3.amazonaws.com/autorift_parameters/v001/autorift_landice_0120m.shp
- datacube_software_version :
- 1.0
- date_created :
- 09-Jun-2022 09:28:39
- date_updated :
- 09-Jun-2022 09:28:39
- geo_polygon :
- [[95.06959008486952, 29.814255053135902], [95.32812062059084, 29.80995133455071], [95.58659184122865, 29.805142618769533], [95.84499718862224, 29.7998293459177], [96.10333011481168, 29.79401200205343], [96.11032804508507, 30.019297601073085], [96.11740568350054, 30.24457398332382], [96.12456379063154, 30.469841094022847], [96.1318031397002, 30.695098878594504], [95.87110827645229, 30.701129245012552], [95.61033817656023, 30.7066371044805], [95.34949964126946, 30.711621947056347], [95.08859948278467, 30.716083310981194], [95.08376623410525, 30.49063893600811], [95.07898726183609, 30.26518607254204], [95.0742620484426, 30.039724763743482], [95.06959008486952, 29.814255053135902]]
- institution :
- NASA Jet Propulsion Laboratory (JPL), California Institute of Technology
- latitude :
- 30.26
- longitude :
- 95.60
- proj_polygon :
- [[700000, 3300000], [725000.0, 3300000.0], [750000.0, 3300000.0], [775000.0, 3300000.0], [800000, 3300000], [800000.0, 3325000.0], [800000.0, 3350000.0], [800000.0, 3375000.0], [800000, 3400000], [775000.0, 3400000.0], [750000.0, 3400000.0], [725000.0, 3400000.0], [700000, 3400000], [700000.0, 3375000.0], [700000.0, 3350000.0], [700000.0, 3325000.0], [700000, 3300000]]
- projection :
- 32646
- s3 :
- s3://its-live-data/datacubes/v02/N30E090/ITS_LIVE_vel_EPSG32646_G0120_X750000_Y3350000.zarr
- skipped_granules :
- s3://its-live-data/datacubes/v02/N30E090/ITS_LIVE_vel_EPSG32646_G0120_X750000_Y3350000.json
- time_standard_img1 :
- UTC
- time_standard_img2 :
- UTC
- title :
- ITS_LIVE datacube of image_pair velocities
- url :
- https://its-live-data.s3.amazonaws.com/datacubes/v02/N30E090/ITS_LIVE_vel_EPSG32646_G0120_X750000_Y3350000.zarr
dc_timesorted = dc.sortby(dc['mid_date'])
Read in vector data#
#se_asia = gpd.read_file('https://github.com/e-marshall/itslive/raw/master/rgi15_southasiaeast.geojson')
se_asia = gpd.read_file('/home/emmamarshall/Desktop/data/rgi/south_asia_east_15/15_rgi60_SouthAsiaEast.shp')
se_asia_prj = se_asia.to_crs('EPSG:32645')
se_asia_prj.explore()
Make this Notebook Trusted to load map: File -> Trust Notebook